package com.pdool.game.res;

import cn.hutool.core.map.MapUtil;

import java.util.Map;
/**
 * 资源操作类
 * @author 香菜
 */
public class ResOp {
    private int roleId;
    Map<String, Object> addMap = MapUtil.newHashMap();
    Map<String, Object> costMap = MapUtil.newHashMap();

    public ResOp(int roleId) {
        this.roleId = roleId;
    }

    public void add(String addStr) {
        String[] s = addStr.split("_");
        String type = s[0];
        Object o = addMap.get(type);
        AbsRes absRes = ResTypeManager.allResMap.get(type);
        Object merge = absRes.merge(roleId, s, o);
        addMap.put(type,merge);

    }

    public void cost(String costStr) {
    }

    public void check() {
        addMap.forEach((k,v)->{
            AbsRes<Object> absRes = ResTypeManager.allResMap.get(k);
            absRes.checkAdd(roleId,v);
        });
        costMap.forEach((k,v)->{
            AbsRes<Object> absRes = ResTypeManager.allResMap.get(k);
            absRes.checkCost(roleId,v);
        });
    }

    public void op() {
        check();
        addMap.forEach((k,v)->{
            AbsRes absRes = ResTypeManager.allResMap.get(k);
            absRes.add(roleId,v);
        });
        costMap.forEach((k,v)->{
            AbsRes absRes = ResTypeManager.allResMap.get(k);
            absRes.cost(roleId,v);
        });
    }
}
